<?php

class EntidadesController extends AppController {
	var $name = 'Entidades';
	var $components = array ('Pagination','Acl');
	var $helpers = array('Html','Form','Accessibility','Pagination');

	function index() {
		$this->set('title', 'Entidades');
		$entidades = $this->Entidade->findAll();
		$this->set('entidades', $entidades);
	}

	function view( $id=null ) {
		if (!$id) $this->redirect('/entidades');
		$this->set('title','Visualizar entidade');
		$this->Entidade->id = $id;
		$this->set('entidade', $this->Entidade->read());
	}

	function add() {
		$this->set('title','Cadastrar entidade');
		$this->set('cidades', $this->Entidade->Cidade->generateList(null, null, null, '{n}.Cidade.id', '{n}.Cidade.nome'));
		if (!empty($this->data)) {
			$aco = new Aco();
			$aco->create($this->Entidade->id, null, $this->data['Entidade']['nome']);
			if ($this->Entidade->save($this->data)) {
				$_SESSION['mensagem']['success'][] = 'Entidade cadastrada com sucesso!';
			} else {
				$_SESSION['mensagem']['error'][] = 'Erro ao tentar cadastrar a entidade.';
			}
			$this->redirect('/entidades');
		}
	}

	function edit( $id=null) {
		if (!$id) $this->redirect('/entidades');
		$this->set('title','Editar entidade');
		$this->set('cidades', $this->Entidade->Cidade->generateList(null, null, null, '{n}.Cidade.id', '{n}.Cidade.nome'));
		$this->Entidade->id = $id;
		if (empty($this->data)) {
			$this->data = $this->Entidade->read();
		} else {
			if ($this->Entidade->save($this->data['Entidade'])) {
				$_SESSION['mensagem']['success'][] = 'Entidade alterada com sucesso!';
			} else {
				$_SESSION['mensagem']['error'][] = 'Erro ao tentar alterar a entidade.';
			}
			$this->redirect('/entidades');
		}
		$entidade = $this->Entidade->find(array('`Entidade`.id' => $id));
		$this->set('entidade', $entidade);
	}

	function delete($id) {
		if (!$id) $this->redirect('/entidades');
		if ($this->Entidade->del($id)) {
			$_SESSION['mensagem']['success'][] = 'Entidade excluida com sucesso!';
		} else {
			$_SESSION['mensagem']['error'][] = 'Erro ao tentar excluir a entidade.';
		}
		$this->redirect('/entidades');
	}

	function findEntidadeIdbyUnidadeId($unidadeId){
		$conditions = array('Unidade.entidade_id'=>$unidadeId);
		$unidade =  $Unidade->find($conditions);
		return $unidade['Unidade']['entidade_id'];
	}

}
?>
